﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020005FB RID: 1531
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class GachaItem : IMessage<GachaItem>, IMessage, IEquatable<GachaItem>, IDeepCloneable<GachaItem>, IBufferMessage
	{
		// Token: 0x170013B2 RID: 5042
		// (get) Token: 0x060044F2 RID: 17650 RVA: 0x000BCE7B File Offset: 0x000BB07B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<GachaItem> Parser
		{
			get
			{
				return GachaItem._parser;
			}
		}

		// Token: 0x170013B3 RID: 5043
		// (get) Token: 0x060044F3 RID: 17651 RVA: 0x000BCE82 File Offset: 0x000BB082
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return GachaItemReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x170013B4 RID: 5044
		// (get) Token: 0x060044F4 RID: 17652 RVA: 0x000BCE94 File Offset: 0x000BB094
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return GachaItem.Descriptor;
			}
		}

		// Token: 0x060044F5 RID: 17653 RVA: 0x000BCE9B File Offset: 0x000BB09B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public GachaItem()
		{
		}

		// Token: 0x060044F6 RID: 17654 RVA: 0x000BCEA4 File Offset: 0x000BB0A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public GachaItem(GachaItem other) : this()
		{
			this.tokenItem_ = ((other.tokenItem_ != null) ? other.tokenItem_.Clone() : null);
			this.transferItemList_ = ((other.transferItemList_ != null) ? other.transferItemList_.Clone() : null);
			this.isNew_ = other.isNew_;
			this.gachaItem_ = ((other.gachaItem_ != null) ? other.gachaItem_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060044F7 RID: 17655 RVA: 0x000BCF28 File Offset: 0x000BB128
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public GachaItem Clone()
		{
			return new GachaItem(this);
		}

		// Token: 0x170013B5 RID: 5045
		// (get) Token: 0x060044F8 RID: 17656 RVA: 0x000BCF30 File Offset: 0x000BB130
		// (set) Token: 0x060044F9 RID: 17657 RVA: 0x000BCF38 File Offset: 0x000BB138
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemList TokenItem
		{
			get
			{
				return this.tokenItem_;
			}
			set
			{
				this.tokenItem_ = value;
			}
		}

		// Token: 0x170013B6 RID: 5046
		// (get) Token: 0x060044FA RID: 17658 RVA: 0x000BCF41 File Offset: 0x000BB141
		// (set) Token: 0x060044FB RID: 17659 RVA: 0x000BCF49 File Offset: 0x000BB149
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ItemList TransferItemList
		{
			get
			{
				return this.transferItemList_;
			}
			set
			{
				this.transferItemList_ = value;
			}
		}

		// Token: 0x170013B7 RID: 5047
		// (get) Token: 0x060044FC RID: 17660 RVA: 0x000BCF52 File Offset: 0x000BB152
		// (set) Token: 0x060044FD RID: 17661 RVA: 0x000BCF5A File Offset: 0x000BB15A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsNew
		{
			get
			{
				return this.isNew_;
			}
			set
			{
				this.isNew_ = value;
			}
		}

		// Token: 0x170013B8 RID: 5048
		// (get) Token: 0x060044FE RID: 17662 RVA: 0x000BCF63 File Offset: 0x000BB163
		// (set) Token: 0x060044FF RID: 17663 RVA: 0x000BCF6B File Offset: 0x000BB16B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public Item GachaItem_
		{
			get
			{
				return this.gachaItem_;
			}
			set
			{
				this.gachaItem_ = value;
			}
		}

		// Token: 0x06004500 RID: 17664 RVA: 0x000BCF74 File Offset: 0x000BB174
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as GachaItem);
		}

		// Token: 0x06004501 RID: 17665 RVA: 0x000BCF84 File Offset: 0x000BB184
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(GachaItem other)
		{
			return other != null && (other == this || (object.Equals(this.TokenItem, other.TokenItem) && object.Equals(this.TransferItemList, other.TransferItemList) && this.IsNew == other.IsNew && object.Equals(this.GachaItem_, other.GachaItem_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06004502 RID: 17666 RVA: 0x000BCFFC File Offset: 0x000BB1FC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.tokenItem_ != null)
			{
				num ^= this.TokenItem.GetHashCode();
			}
			if (this.transferItemList_ != null)
			{
				num ^= this.TransferItemList.GetHashCode();
			}
			if (this.IsNew)
			{
				num ^= this.IsNew.GetHashCode();
			}
			if (this.gachaItem_ != null)
			{
				num ^= this.GachaItem_.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06004503 RID: 17667 RVA: 0x000BD07D File Offset: 0x000BB27D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06004504 RID: 17668 RVA: 0x000BD085 File Offset: 0x000BB285
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06004505 RID: 17669 RVA: 0x000BD090 File Offset: 0x000BB290
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.transferItemList_ != null)
			{
				output.WriteRawTag(18);
				output.WriteMessage(this.TransferItemList);
			}
			if (this.tokenItem_ != null)
			{
				output.WriteRawTag(34);
				output.WriteMessage(this.TokenItem);
			}
			if (this.IsNew)
			{
				output.WriteRawTag(48);
				output.WriteBool(this.IsNew);
			}
			if (this.gachaItem_ != null)
			{
				output.WriteRawTag(106);
				output.WriteMessage(this.GachaItem_);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06004506 RID: 17670 RVA: 0x000BD124 File Offset: 0x000BB324
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.tokenItem_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TokenItem);
			}
			if (this.transferItemList_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.TransferItemList);
			}
			if (this.IsNew)
			{
				num += 2;
			}
			if (this.gachaItem_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.GachaItem_);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06004507 RID: 17671 RVA: 0x000BD1A0 File Offset: 0x000BB3A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(GachaItem other)
		{
			if (other == null)
			{
				return;
			}
			if (other.tokenItem_ != null)
			{
				if (this.tokenItem_ == null)
				{
					this.TokenItem = new ItemList();
				}
				this.TokenItem.MergeFrom(other.TokenItem);
			}
			if (other.transferItemList_ != null)
			{
				if (this.transferItemList_ == null)
				{
					this.TransferItemList = new ItemList();
				}
				this.TransferItemList.MergeFrom(other.TransferItemList);
			}
			if (other.IsNew)
			{
				this.IsNew = other.IsNew;
			}
			if (other.gachaItem_ != null)
			{
				if (this.gachaItem_ == null)
				{
					this.GachaItem_ = new Item();
				}
				this.GachaItem_.MergeFrom(other.GachaItem_);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06004508 RID: 17672 RVA: 0x000BD260 File Offset: 0x000BB460
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06004509 RID: 17673 RVA: 0x000BD26C File Offset: 0x000BB46C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 34U)
				{
					if (num == 18U)
					{
						if (this.transferItemList_ == null)
						{
							this.TransferItemList = new ItemList();
						}
						input.ReadMessage(this.TransferItemList);
						continue;
					}
					if (num == 34U)
					{
						if (this.tokenItem_ == null)
						{
							this.TokenItem = new ItemList();
						}
						input.ReadMessage(this.TokenItem);
						continue;
					}
				}
				else
				{
					if (num == 48U)
					{
						this.IsNew = input.ReadBool();
						continue;
					}
					if (num == 106U)
					{
						if (this.gachaItem_ == null)
						{
							this.GachaItem_ = new Item();
						}
						input.ReadMessage(this.GachaItem_);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04001B37 RID: 6967
		private static readonly MessageParser<GachaItem> _parser = new MessageParser<GachaItem>(() => new GachaItem());

		// Token: 0x04001B38 RID: 6968
		private UnknownFieldSet _unknownFields;

		// Token: 0x04001B39 RID: 6969
		public const int TokenItemFieldNumber = 4;

		// Token: 0x04001B3A RID: 6970
		private ItemList tokenItem_;

		// Token: 0x04001B3B RID: 6971
		public const int TransferItemListFieldNumber = 2;

		// Token: 0x04001B3C RID: 6972
		private ItemList transferItemList_;

		// Token: 0x04001B3D RID: 6973
		public const int IsNewFieldNumber = 6;

		// Token: 0x04001B3E RID: 6974
		private bool isNew_;

		// Token: 0x04001B3F RID: 6975
		public const int GachaItem_FieldNumber = 13;

		// Token: 0x04001B40 RID: 6976
		private Item gachaItem_;
	}
}
